1. Field of the Invention
Embodiments of the invention relate to a semiconductor device. More particularly, embodiments of the invention relate to a method of detecting the propagation delay of a tri-state bidirectional bus connected between blocks in a semiconductor chip to compensate for detected propagation delays.
2. Discussion of Related Art
As more semiconductor devices operate at high speeds, synchronization between the semiconductor chip and external devices as well as synchronization between signal lines and blocks within the chip is increasingly important. In addition, routing and cross-talk associated with the number of signal lines in these chips becomes an issue as more and more devices are formed on such chips. Signal lines are used to connect blocks in a semiconductor chip. Buffering and trees are generally used to reduce propagation delays between blocks or to skew generations. A method of minimizing signal skews is disclosed in U.S. Pat. No. 5,987,576.
FIG. 1 illustrates signal lines connected between blocks in a semiconductor device. In particular, signal lines LR1-LR4 connect master block 11 with slave blocks 12-15 and are used for reading. Signal lines LW1-LW4 also connect master block 11 with slave blocks 12-15 in a tree configuration and are used for writing. Buffers BR1-BR6 and BW1-BW8 are used to minimize propagation delay or skew associated with the signal lines. However, this method complicates chip layout and routing. Also, propagation delay or skew has a fixed time adapted to a clock period, but the clock period is adjustable. This method also limits the operating frequency and is less accommodating to changes in operating processes and environment.
When a tri-state bidirectional bus is used for connecting signal lines between blocks in a semiconductor device, these signal lines are commonly used for reading and writing. This use combination greatly reduces the number of signal lines. However, when using a tri-state bidirectional bus, signals cannot be amplified via buffering. Therefore, a tri-state bidirectional bus may be used between adjacent blocks, but propagation delays and increased transition times limit its use between distant blocks. In particular, when a unidirectional and a bidirectional bus are used together, synchronization becomes difficult between the corresponding signals.